'''
更新订单状态
半小时内没有支付 取消订单
'''

from django.core.management.base import BaseCommand


class Command(BaseCommand):
    help = '''
        更新订单状态 回收订单
    '''

    def add_arguments(self, parser):
        '''
        添加命令参数
        1. 回收所有超时订单
        python manage.py update --all
        2. 回收指定某一订单
        python manage.py update --one 00001
        :param parser: 解析参数 all  one
        :return:
        '''
        parser.add_argument(
            '--all',
            action='store_true',
            dest='all',
            default=False,
            help='回收所有超时订单',
        )

        parser.add_argument(
            '--one',
            action='store_true',
            dest='one',
            default=False,
            help='指定回收某一订单',
        )

    def handle(self, *args, **options):
        if options['all']:
            self.stdout.write('开始回收订单')
            # 逻辑处理
            self.stdout.write('----------')
            self.stdout.write('处理完成')
        elif options['one']:
            self.stdout.write('开始回收订单{}'.format(options['one']))
            # 逻辑处理
            self.stdout.write('----------')
            self.stdout.write('处理完成')
        else:
            self.stderr.write('指令异常')